Schon für Einsteiger in die farbenfrohe Welt des C# wird früh der Bereich der booleschen Algebra interessant, Entscheidungen auf Grundlage von Wahrheitswerten zu fällen ist Essenziell für den strukturierten Ablauf eines Programmes.
Ein interessanter Hinweis zum Thema logischer Operatoren:
Operator | Beschreibung |
&& | Logisches Und (es werden nur solange Operanten geprüft bis einer false ist,-> ganzer Ausdruck false) |
|| | Logisches Oder (es werden nur solange Operanten geprüft bis einer true ist,-> ganzer Ausdruck true) |
& | Logisches Und (alle Operanten werden geprüft) |
| | Logisches Oder (alle Operanten werden geprüft) |
Man bezeichnet das Vorgehen bei && und bei || als shortcircuit-Evaluation, soll heißen die Evaluierung kann abgeschlossen sein ohne das jeder Operant ausgewertet werden musste, was Ressourcen spart.
Für den Vergleich von nullierbaren Datentypen (Nullable Types) ist grundlegend zu beachten dass,
· Bei Verwendung auf ausschließlich Nicht-NULL-Operanten wird der Operator auf die Werte angewendet
· Hat mindestens ein Operant einen Wert und mindesten einer ist NULL ergibt == false und != true
· Sind Alle Operanten NULL ergibt == true und !=false
Das bedeutet:
int? Wert1 = 5;
int? Wert2 = 10;
int? Wert3 = null;
int? Wert4 = null;
int? Wert5 = 10;
bool b1;
b1 = Wert1 == Wert2; // False
b1 = Wert2 == Wert5; // True
b1 = Wert1 == Wert3; // False
b1 = Wert1 != Wert3; // True
b1 = Wert3 == Wert4; // True<BR>b1 = Wert3 != Wert4; // False
wobei int? nullableOfInt32 bedeutet, also “nullierbare” Variante von Int32.
Und wessen Interesse geweckt ist findet hier ein Tor zu dem nötigen Wissen um in C# durch zu starten.